﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Styx.Helpers;
using System.IO;
using Styx;

using Styx.Common;

namespace Lockery
{
    public class LockerySettings : Settings
    {
        public static readonly LockerySettings myPrefs = new LockerySettings();

        public LockerySettings()
            : base(Path.Combine(Utilities.AssemblyDirectory, string.Format(@"Config/Pasterke/Lockery/{0}-{1}-LockerySettings.xml", StyxWoW.Me.RealmName, StyxWoW.Me.Name)))
        {
        }
        /* All Classes */
        [Setting, DefaultValue(0)]
        public int Trinket1 { get; set; }

        [Setting, DefaultValue(0)]
        public int Trinket2 { get; set; }
         
        [Setting, DefaultValue(0)]
        public int UseEngiGloves { get; set; }

        [Setting, DefaultValue(true)]
        public bool UseEngiBelt { get; set; }

        [Setting, DefaultValue(0)]
        public int Lifeblood { get; set; }

        [Setting, DefaultValue(65)]
        public int EngiBeltHealth { get; set; }

        [Setting, DefaultValue(3)]
        public int AutoDotImmolate { get; set; }

        [Setting, DefaultValue(false)]
        public bool NoMultiDot { get; set; }

        [Setting, DefaultValue(3)]
        public int UseAoe { get; set; }

        [Setting, DefaultValue(true)]
        public bool BloodFury { get; set; }

        [Setting, DefaultValue(true)]
        public bool Berserking { get; set; }

        [Setting, DefaultValue(0)]
        public int AlchFlask { get; set; }

        [Setting, DefaultValue(3)]
        public int ElitesHealth { get; set; }

        [Setting, DefaultValue(false)]
        public bool DisableMovement { get; set; }

        [Setting, DefaultValue(false)]
        public bool DisableFacing { get; set; }

        [Setting, DefaultValue(false)]
        public bool DisableTargetting { get; set; }

        [Setting, DefaultValue(0)]
        public int PotionBuff { get; set; }

        [Setting, DefaultValue(0)]
        public int BuffFlask { get; set; }

        [Setting, DefaultValue(0)]
        public int DarkSoul { get; set; }

        [Setting, DefaultValue(65)]
        public int EatDrink { get; set; }

        [Setting, DefaultValue(65)]
        public int DrinkMana { get; set; }

        [Setting, DefaultValue(65)]
        public int healthstone { get; set; }

        [Setting, DefaultValue(75)]
        public int LifeSpirit { get; set; }

        [Setting, DefaultValue(75)]
        public int WaterSpirit { get; set; }

        [Setting, DefaultValue(35)]
        public int HealthPotion { get; set; }

        [Setting, DefaultValue(65)]
        public int GiftOfNaruu { get; set; }

        /* Class specific */
        [Setting, DefaultValue(true)]
        public bool SummonInfernal { get; set; }

        [Setting, DefaultValue(true)]
        public bool SummonDoomguard { get; set; }

        [Setting, DefaultValue(true)]
        public bool AutoCallPet { get; set; } 

        [Setting, DefaultValue(true)]
        public bool SoulstoneOnMe { get; set; }

        [Setting, DefaultValue(true)]
        public bool NoAoeSolo { get; set; }

        [Setting, DefaultValue("party")]
        public string SacrificePet { get; set; }

        [Setting, DefaultValue("Imp")]
        public string CallPet { get; set; }

        [Setting, DefaultValue(65)]
        public int HealthTunnel { get; set; }

        [Setting, DefaultValue(45)]
        public int EmberTap { get; set; }

        [Setting, DefaultValue(25)]
        public int DarkBargain { get; set; }

        [Setting, DefaultValue(65)]
        public int HealthTunnelOutCombat { get; set; }

        [Setting, DefaultValue(30)]
        public int Redotting { get; set; }

        [Setting, DefaultValue(35)]
        public int DrainLife { get; set; }

        [Setting, DefaultValue(20)]
        public int NoCorruption { get; set; }

    }
}
